using System.Threading.Tasks;
using JNPF.Utils;
using System.Collections.Generic;
using JNPF.Basics.Models;

namespace JNPF.Basics.Logic
{
    public interface CustomerloanIService
    {
		/// <summary>
		/// 获取信息
		/// </summary>
		/// <param name="id">主键id</param>
		/// <returns></returns>
		Task<CustomerloanEntity> GetInfo(int id);


		Task<CustomerloanEntity> GetInfoCustomerNeedRecordId(int id);

        /// <summary>
        /// 获取信息
        /// </summary>
        /// <param name="id">主键id</param>
        /// <returns></returns>
        Task<CustomerloanEntity> GetInfoByUUId(string uuid);

		/// <summary>
		/// 获取信息
		/// </summary>
		/// <param name="id">主键id</param>
		/// <returns></returns>
		Task<List<CustomerloanEntity>> GetInfoByUUId(List<string> uuids);

        /// <summary>
        /// 列表(分页)
        /// </summary>
        /// <param name="input">请求参数</param>
        /// <returns></returns>
        Task<PageResult<CustomerloanEntity>> GetPageList(CustomerloanListQueryInput input);

		/// <summary>
		/// 创建
		/// </summary>
		/// <param name="entity">实体对象</param>
		/// <returns></returns>
		Task<int> Create(CustomerloanEntity entity);

		/// <summary>
		/// 更新
		/// </summary>
		/// <param name="entity">实体对象</param>
		/// <returns></returns>
		Task<int> Update(CustomerloanEntity entity);

		/// <summary>
		/// 删除
		/// </summary>
		/// <param name="entity">实体对象</param>
		/// <returns></returns>
		Task<int> Delete(CustomerloanEntity entity);

		/// <summary>
		/// 列表
		/// </summary>
		/// <returns></returns>
		Task<List<CustomerloanEntity>> GetList(CustomerloanListQueryInput input);


    }
}
